<#include "/java_copyright.include">
<#assign className = table.className>   
<#assign classNameLower = className?uncap_first> 
package ${basepackage}.service;
import java.util.List;
import my.mybatis.common.QueryParams;
import my.mybatis.common.request.BaseRequestParam;
import com.github.pagehelper.PageInfo;
import ${basepackage}.dto.${className};

/**
<#include "/java_description.include">
 */
public interface ${className}Service {

	/** 
	 * 创建${className}
	 **/
	public ${className} save(${className} ${classNameLower});
	
	/**
	 * 批量创建${className}
	 * @param list
	 */
	public int saveBatch(List<${className}> list);
	
	/** 
	 * 更新${className}
	 **/	
    public int update(${className} ${classNameLower});
	
	/** 
	 * 根据条件queryParams批量更新${className}
	 * return 数据库受影响的行数
	 * @param ${classNameLower}
	 * @param queryParams
	 **/	
    public int updateByQueryParams(${className} ${classNameLower},QueryParams<${className}> queryParams);
    
	/** 
	 * 根据ID删除${className}
	 **/
    public int deleteById(${table.idColumn.javaType} id);
	
	/**
	 * 根据条件queryParams批量删除数据
	 * return 数据库受影响的行数
	 * @param queryParams
	 */
	public int deleteByQueryParams(QueryParams<${className}> queryParams);
    
	/** 
	 * 根据ID查询${className}
	 **/    
    public ${className} findById(${table.idColumn.javaType} id);
	
	/** 
	 * 查询: ${className}
	 **/   
	public List<${className}> list(BaseRequestParam<${className}> baseRequestParam);
	
	/** 
	 * 查询: ${className}
	 **/   
	public PageInfo<${className}> listPage(BaseRequestParam<${className}> baseRequestParam);
    
	/**
	  * 根据查询条件获取${className}信息
	  * @param queryParams
	  */
	public List<${className}> findByQueryParams(QueryParams<${className}> queryParams); 
}
